Higher-Order Redundancy Elimination

نویسنده

  • Peter Thiemann
چکیده

Functional programs often de ne functions by pat tern matching where patterns may inadvertedly overlap through successive function calls This leads to hidden in e ciencies since the recursively called function possibly repeats redundant tests while trying to match the pat tern An analysis which is based on conservative symbolic execution similar to higher order constant propagation is proposed for a strict higher order language to drive an arity raiser which generates specialized versions for func tions with partially known arguments To ensure termi nation only the de nitely consumed part of the partially known arguments is considered

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The Generation of a Higher-Order Online Partial Evaluator

We address the problem of generating an online partial evaluator for a higher-order, functional language from an appropriate interpreter using a state-of-the-art ooine partial evaluator. To ensure termination of the generated online spe-cializer the interpreter computes a self-embedding property on closure values and data structures. This guarantees termination whenever there is no static loop ...

متن کامل

Redundancy Elimination in Monodic Temporal Reasoning

The elimination of redundant clauses is an essential part of resolution-based theorem proving in order to reduce the size of the search space.p In this paper we focus on ordered fine-grained resolution with selection, a sound and complete resolution-based calculus for monodic first-order temporal logic. We define a subsumption relation on temporal clauses, show how the calculus can be extended ...

متن کامل

A higher-order strategy for eliminating common subexpressions

Optimizing compilers often perform an operation known as common subexpression elimination to improve code efficiency. Typically this is accomplished either by pruning a directed acyclic graph to replace eliminated subexpressions by memory fetches of stored values or by using partial redundancy elimination, a data-flow analysis method. In this paper a higher-order strategic method is presented t...

متن کامل

Code Optimization as a Side E ect of Instruction Scheduling

An instruction scheduler utilizes code reordering techniques for generating schedules in which instructions can be issued without delays. In order to perform code reordering across branches, code motion is performed that hoists some instructions above branches and sinks others below branches. Following code reordering , compensation code must be introduced in order to preserve program semantics...

متن کامل

Register Pressure Sensitive Redundancy Elimination

Redundancy elimination optimizations avoid repeated computation of the same value by computing the value once, saving it in a temporary, and reusing the value from the temporary when it is needed again. Examples of redundancy elimination optimizations include common subexpression elimination, loop invariant code motion and partial redundancy elimination. We demonstrate that the introduction of ...

متن کامل

System Description: iProver – An Instantiation-Based Theorem Prover for First-Order Logic

iProver is an instantiation-based theorem prover which is based on Inst-Gen calculus, complete for first-order logic. One of the distinctive features of iProver is a modular combination of instantiation and propositional reasoning. In particular, any state-of-the art SAT solver can be integrated into our framework. iProver incorporates state-of-the-art implementation techniques such as indexing...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994